/**
 * Project: topdt-jbpm
 * Copyright 2013  Top Digital Technology  Co. Ltd.
 * All right reserved.
 */
package com.topdt.jbpm.service;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.thx.common.service.BaseManager;
import com.thx.common.web.Page;
import com.topdt.jbpm.dao.FieldDao;
import com.topdt.jbpm.model.Field;


/**
 * 建立日期 : 2013-4-25 下午12:00:29<br>
 * 作者 : balance<br>
 * 模块 : <br>
 * 描述 : <br>
 * 修改历史: 序号 日期 修改人 修改原因 <br>
 * 1 <br>
 * 2 <br>
 */
@Service
@Transactional(readOnly = true)
public class FieldService  extends BaseManager<Field>{
	@Autowired
	private FieldDao fieldDao;

	
	//--通过formId 查找Field集合
	public List<Field> getFieldsByformId(String formId) {
		return fieldDao.getFieldsByformId(formId);
	}

	/**
	 * 查询字段列表信息
	 * 建立日期 : 2013-6-20 <br>
	 * 作者 : 武海峰<br>
	 * @param field
	 * @param page
	 * @return
	 */
	public Page<Field> queryAllByCondition(Field field, Page<Field> page,String formId){
		page.setResult(fieldDao.queryAllByCondition(field, page.getStart(),
				page.getMax(),formId));
		page.setCount(fieldDao.queryCount(field,formId));
		return page;
	}

	/**
	 * 查询字段列表信息
	 * 建立日期 : 2013-6-20 <br>
	 * 作者 : 武海峰<br>
	 * @param entity
	 */
	@Transactional(readOnly = false)
	public void saveOrUpdate(Field entity) {
		fieldDao.saveOrUpdate(entity);
	}

	/**
	 * 根据字段id查询字段信息
	 * 建立日期 : 2013-6-20 <br>
	 * 作者 : 武海峰<br>
	 * @param entity
	 */
	public Field findById(String fieldId) {
		return fieldDao.findById(fieldId);
	}

	/**
	 * 根据字段id删除对应字段信息
	 * 建立日期 : 2013-6-20 <br>
	 * 作者 : 武海峰<br>
	 * @param entity
	 */
	@Transactional(readOnly = false)
	public void delField(String fieldId) {
		fieldDao.delete(fieldId);
	}

	public int findCount(String formId) {
		return fieldDao.findCount(formId);
	}

	public Field findByFieldText(String fieldText, String formId) {
		Field field = fieldDao.findByFieldText(fieldText,formId);
		return field;
	}

	public Field findByFieldName(String fieldName, String formId) {
		Field field = fieldDao.findByFieldName(fieldName,formId);
		return field;
	}

	public List<Field> getShowFieldsByformId(String formId) {
		return fieldDao.getShowFieldsByformId(formId);
	}

	/**
	 * 获取field模板数据并插入表里
	 * 建立日期 : 2013-7-29 <br>
	 * 作者 : 武海峰<br>
	 * @param companyId
	 */
	@Transactional(readOnly = false)
	public void addField(String companyId) {
		this.fieldDao.addField(companyId);
	}
	/**
	 * 
	* @author _zili
	* @Description:
	* @date 2015年4月1日 下午12:00:17
	 */
	public List<Field> getFieldByFormId(String formId) {
		return fieldDao.getFieldsByformId(formId);
	}
}
